CXX=g++
INSTALL=/usr/bin/install -c
MOC=

CFLAGS=-g -O2
CXXFLAGS=-g -O2
LDFLAGS=

system=Darwin

OBJECTS=main.o qt_nvclock.o qt_nvclock.moc.o qt_xfree.o qt_xfree.moc.o
CXXFLAGS+= -I../backend
HAVE_NVCONTROL=no
HAVE_QT=no
libbackend=../backend/libbackend.a

prefix=$(DESTDIR)/usr/local
exec_prefix=$(DESTDIR)${prefix}
bindir=$(DESTDIR)${exec_prefix}/bin

ifeq ($(HAVE_QT), yes)
    PROGRAM=nvclock_qt
    INSTALL_APP=mkdir -p $(bindir); $(INSTALL) -c $(PROGRAM) $(bindir)/$(PROGRAM)
    UNINSTALL_APP=rm -f $(bindir)/$(PROGRAM)
endif

ifeq ($(system), Darwin)
    LIBS+=-framework CoreFoundation -framework IOKit -L/usr/X11/lib -lX11 -lXext
endif

ifeq ($(HAVE_NVCONTROL), yes)
    DEPS=$(libbackend) $(libnvcontrol)
    INCLUDES= -I./backend -I./nvcontrol -I.. -I../..
    LIBS+= -L../backend -lbackend -L../nvcontrol -lnvcontrol
else
    DEPS=$(libbackend)
    INCLUDES= -I./backend -I.. -I../..
    LIBS+= -L../backend -lbackend
endif


.PHONY: clean distclean install
all: $(PROGRAM)

nvclock_qt: $(DEPS) qt_nvclock.moc qt_xfree.moc $(OBJECTS)
	$(CXX) $(LDFLAGS) -o nvclock_qt $(CXXFLAGS) $(OBJECTS) $(LIBS) 

clean:
	rm -f nvclock_qt *.core *.moc *.o

distclean: clean
	rm -f Makefile

install:
	$(INSTALL_APP)

uninstall:
	$(UNINSTALL_APP)

%.moc: %.h
	$(MOC) $< -o $@.cpp
	$(CXX) $(CXXFLAGS) -c $@.cpp

